home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 July: Mac OS SDK / Dev.CD Jul 97 SDK2.toast / Development Kits (Disc 2) / QuickTime / QuickTime™ 2.5 / Interfaces for Programmers / RIncludes / ImageCodec.r
Encoding:
Text File  |  1997-02-26  |  3.9 KB  |  92 lines  |  [TEXT/MPS ]

  1. /************************************************************
  2.  
  3.     File:        ImageCodec.r
  4.  
  5.      Contains:    Rez Interface to the Macintosh Libraries
  6.  
  7.     Copyright:    © 1991-1996 by Apple Computer, Inc., all rights reserved.
  8.  
  9. ************************************************************/
  10.  
  11. #ifndef __IMAGECODEC_R__
  12. #define __IMAGECODEC_R__
  13.  
  14.  
  15. #include "Types.r"
  16.  
  17.  
  18. #define    codecInfoDoes1                1            /* codec can work with 1-bit pixels */
  19. #define    codecInfoDoes2                2            /* codec can work with 2-bit pixels */
  20. #define    codecInfoDoes4                4            /* codec can work with 4-bit pixels */
  21. #define    codecInfoDoes8                8            /* codec can work with 8-bit pixels */
  22. #define    codecInfoDoes16                0x10        /* codec can work with 16-bit pixels */
  23. #define    codecInfoDoes32                0x20        /* codec can work with 32-bit pixels */
  24. #define    codecInfoDoesDither            0x40        /* codec can do ditherMode */
  25. #define    codecInfoDoesStretch        0x80        /* codec can stretch to arbitrary sizes */
  26. #define    codecInfoDoesShrink            0x100        /* codec can shrink to arbitrary sizes */
  27. #define    codecInfoDoesMask            0x200        /* codec can mask to clipping regions */
  28.             
  29. #define    codecInfoDoesTemporal        0x400        /* codec can handle temporal redundancy */
  30.  
  31. #define    codecInfoDoesDouble            0x800        /* codec can stretch to double size exactly */
  32. #define    codecInfoDoesQuad            0x1000        /* codec can stretch to quadruple size exactly */
  33. #define    codecInfoDoesHalf            0x2000        /* codec can shrink to half size */
  34. #define    codecInfoDoesQuarter        0x4000        /* codec can shrink to quarter size */
  35.  
  36. #define    codecInfoDoesRotate            0x8000        /* codec can rotate on decompress */
  37. #define    codecInfoDoesHorizFlip        0x10000        /* codec can flip horizontally on decompress */
  38. #define    codecInfoDoesVertFlip        0x20000        /* codec can flip vertically on decompress */
  39. #define    codecInfoDoesSkew            0x40000        /* codec can skew on decompress */
  40. #define    codecInfoDoesBlend            0x80000        /* codec can blend on decompress */
  41. #define    codecInfoDoesWarp            0x100000    /* codec can warp arbitrarily on decompress */
  42. #define    codecInfoDoesRecompress        0x200000    /* codec can recompress image without accumulating errors */
  43. #define    codecInfoDoesSpool            0x400000    /* codec can spool image data */
  44. #define    codecInfoDoesRateConstrain    0x800000    /* codec can data rate constrain */
  45.  
  46.  
  47. #define    codecInfoDepth1                1            /* compressed data at 1 bpp depth available */
  48. #define    codecInfoDepth2                2            /* compressed data at 2 bpp depth available */
  49. #define    codecInfoDepth4                4            /* compressed data at 4 bpp depth available */
  50. #define    codecInfoDepth8                8            /* compressed data at 8 bpp depth available */
  51. #define    codecInfoDepth16            0x10        /* compressed data at 16 bpp depth available */
  52. #define    codecInfoDepth32            0x20        /* compressed data at 32 bpp depth available */
  53. #define    codecInfoDepth24            0x40        /* compressed data at 24 bpp depth available */
  54. #define    codecInfoDepth33            0x80        /* compressed data at 1 bpp monochrome depth  available */
  55. #define    codecInfoDepth34            0x100        /* compressed data at 2 bpp grayscale depth available */
  56. #define    codecInfoDepth36            0x200        /* compressed data at 4 bpp grayscale depth available */
  57. #define    codecInfoDepth40            0x400        /* compressed data at 8 bpp grayscale depth available */
  58. #define    codecInfoStoresClut            0x800        /* compressed data can have custom cluts */
  59. #define    codecInfoDoesLossless        0x1000        /* compressed data can be stored in lossless format */
  60. #define    codecInfoSequenceSensitive    0x2000        /* compressed data is sensitive to out of sequence decoding */
  61.  
  62.  
  63.  
  64.  
  65. type 'cdci' {
  66.     pstring[31];
  67.     hex integer    version;
  68.     hex integer    revlevel;
  69.     hex longint    vendor;
  70.     hex longint    decompressFlags;
  71.     hex longint    compressFlags;
  72.     hex longint    formatFlags;
  73.     byte        compressionAccuracy;
  74.     byte        decompressionAccuracy;
  75.     integer        compressionSpeed;
  76.     integer        decompressionSpeed;
  77.     byte        compressionLevel;
  78.     byte        resvd;
  79.     integer        minimumHeight;
  80.     integer        minimumWidth;
  81.     integer        decompressPipelineLatency;
  82.     integer        compressPipelineLatency;
  83.     longint        privateData;
  84. };
  85.  
  86.  
  87.  
  88. #define    compressorComponentType            'imco'
  89. #define    decompressorComponentType        'imdc'
  90.  
  91. #endif __IMAGECODEC_R__
  92.